<TABLE CELLSPACING='1' CELLPADDING='0' WIDTH='99%' align='center'  bgcolor='#cccccc'>
<%
'以下为ASP中通过该日历算法实现的具体代码

	'先判断是否指定了一个年份和月份，没有则根据当前的年和月份显示
	If Request("currentDate")="" then
		 CurrentDate=Date
	else
		 CurrentDate=Trim(Request("currentDate"))
	end if
	pday=day(CurrentDate)
	pyear=year(CurrentDate)
	pmonth=month(CurrentDate)

	'以下的代码生成日历显示的表格头内容
%>
  <tr valign='top' align="LEFT" bgcolor='#DDEEFF'>
    <td width="14%" align="center">
    <A HREF="EventDay.asp?currentDate=<%=pyear%>-<%=pmonth-1%>-<%=pday%>"><%=pmonth-1%></A>
	</td>
    <td colspan="5" align="center">
		<%=pyear%>年<%=pmonth%>月
	</td>
    <td width="14%" align="center">
	<A HREF="EventDay.asp?currentDate=<%=pyear%>-<%=pmonth+1%>-<%=pday%>"><%=pmonth+1%></A>
	</td>
  </tr>
  <tr align="center" style="background:#f6f6f6;">
    <td width="14%"> 日</td>
    <td width="14%"> 一</td>
    <td width="14%"> 二</td>
    <td width="14%"> 三</td>
    <td width="14%"> 四</td>
    <td width="14%"> 五</td>
    <td width="14%"> 六</td>
  </tr>
  <tr align='center' bgcolor='#FFFFFF'>
  <%
  '由于ASP中没有获取指定月共有多少天的函数，因此我们需要通过其他算法来获得，算法其实很简单，就是计算一下要显示月份的1日至下个月的1日一共相差几天
	fromDate = FormatDateTime(month(CurrentDate) & "/1/" &  year(CurrentDate))
	toDate = FormatDateTime(DateAdd("m",1,fromDate))
	'获得要显示月份的第一天为周几
	nunmonthstart=weekday(fromDate)-1
	'获得要显示的1日至下个月的1日一共相差几天(月份一共有多少天)
	nunmonthend=DateDiff("d",fromDate,toDate)
	'判断显示日历需要用几行表格来显示（每行显示7天）
	if nunmonthstart+nunmonthend<36 then
		 maxi=36
	else
		 maxi=43
	end if
	'循环生成表格并显示
	i=1
	do while i<maxi
		iv=i-nunmonthstart
		if i>nunmonthstart and i<=nunmonthend+nunmonthstart then
			'如果为显示的是当天则用红色背景显示
			if iv=pday  Then 'and month(now)=pmonth and year(now)=pyear
				response.write( "<td align=center bgcolor=#CCFFCC><a href=EventDay.asp?currentDate="&pyear&"-"&pmonth&"-"&iv&">" & iv & "</a></td>")
			else
				response.write( "<td align=center bgcolor=#FFFFFF><a href=EventDay.asp?currentDate="&pyear&"-"&pmonth&"-"&iv&">" & iv & "</a></td>")
			end if
		else
			response.write( "<td> </td>")
		end if

		'如果能被7整除（每行显示7个）则输出一个换行
		if i mod 7=0 then
			response.write( "</tr><tr align=center bgcolor=ffffff>")
		end if
		i=i+1
	loop
%>
</table>
